﻿package 
{
    import chatDataChange.*;
    import com.*;
    import com.assist.server.*;
    import com.assist.view.*;
    import com.assist.view.pack.*;
    import com.assist.view.toolbar.*;
    import com.assist.view.war.*;
    import com.lang.client_resources.chat.*;
    import com.protocols.*;

    public class chatDataChange extends Object
    {
        private static var _smileys:Array = ["", "eip1", "eip2", "eip3", "eip4", "eip5", "eip6", "eip7", "eip8", "eip9", "eip10", "eip11", "eip12", "eip13", "eip14", "eip15", "eip16", "eip17", "eip18", "eip19", "eip20", "eip21", "eip22", "eip23", "eip24", "eip25", "eip26", "eip27", "eip28", "eip29", "eip30", "eip31", "eip32", "eip33", "eip34", "eip35", "eip36"];
        private static var _eipList:Array;
        private static var _mainNum:int = 20;
        private static var _systemType:int = 100;
        private static var shieldPlayerList:Array = [];
        private static const _iconPx:int = 6;
        private static var _titleNum:int = 12;
        private static var _titleCountNum:int = 0;
        private static var _eipBleak:String = " ";
        private static var _lineLimit:int = 38;
        private static var _changeLineNum:int = 0;
        private static var _spaceStr:String = " 　　 ";
        private static var townMsg:Array;

        public function chatDataChange()
        {
            return;
        }// end function

        public static function renderMessage(param1:Array, param2:int = 99) : Array
        {
            var _loc_5:Object = null;
            var _loc_6:Object = null;
            var _loc_7:Boolean = false;
            _eipList = [];
            var _loc_3:* = param1.length;
            var _loc_4:int = 0;
            while (_loc_4 < _loc_3)
            {
                
                _loc_5 = param1[_loc_4];
                _loc_6 = {};
                if (shieldPlayerList.length > 0)
                {
                    _loc_7 = isShieldPlayer(_loc_5);
                    if (_loc_7 == false)
                    {
                        ;
                    }
                }
                _loc_5.nameNum = countStr(_loc_5.playName);
                switch(_loc_5.msgType)
                {
                    case Mod_Chat_Base.ACTIVITY:
                    case Mod_Chat_Base.FACTION_WAR:
                    {
                        _loc_5.chatType = "[" + ChatLang.Activity + "]";
                        _loc_5.typeColor = "#ffffff";
                        break;
                    }
                    case Mod_Chat_Base.WORLD:
                    {
                        _loc_5.chatType = "[" + ChatLang.World + "]";
                        _loc_5.typeColor = "#ffffff";
                        break;
                    }
                    case Mod_Chat_Base.FACTION:
                    {
                        _loc_5.typeColor = "#80c269";
                        _loc_5.chatType = "[" + ChatLang.Faction + "]";
                        break;
                    }
                    case _systemType:
                    {
                        _loc_5.chatType = "[" + ChatLang.Tip + "]";
                        _loc_5.typeColor = "#ffffff";
                        _loc_5.playName = "";
                        _loc_5.showName = "";
                        break;
                    }
                    default:
                    {
                        break;
                    }
                }
                if (/^MSG\d+""^MSG\d+/.test(_loc_5.msgTxt))
                {
                    renderReport(_loc_5);
                }
                else
                {
                    _loc_5.eipLive = {};
                    countTitleNum(_loc_5);
                }
                _loc_4 = _loc_4 + 1;
            }
            townChatInfo(param1);
            return _eipList;
        }// end function

        public static function getShieldPlayerInfo(param1:String, param2:int) : String
        {
            var _loc_8:Array = null;
            var _loc_9:Object = null;
            var _loc_10:Object = null;
            var _loc_3:* = param1.split("_");
            var _loc_4:* = _loc_3.length;
            var _loc_5:Array = [];
            var _loc_6:int = 0;
            while (_loc_6 < _loc_4)
            {
                
                _loc_8 = _loc_3[_loc_6].split(",");
                _loc_9 = {};
                _loc_9.playId = _loc_8[0];
                _loc_9.addTime = _loc_8[1];
                _loc_10 = TimeChange.diffTimerInfo(_loc_9.addTime, param2);
                if (_loc_10.date < 1)
                {
                    shieldPlayerList.push(_loc_9);
                    _loc_5.push(_loc_3[_loc_6]);
                }
                _loc_6 = _loc_6 + 1;
            }
            var _loc_7:* = _loc_5.join("_");
            return _loc_7;
        }// end function

        public static function isShieldPlayer(param1:Object, param2:Boolean = false) : Boolean
        {
            var _loc_5:Object = null;
            var _loc_6:Object = null;
            var _loc_3:* = shieldPlayerList.length;
            var _loc_4:int = 0;
            while (_loc_4 < _loc_3)
            {
                
                _loc_5 = shieldPlayerList[_loc_4];
                if (_loc_5.playId == param1.playId)
                {
                    if (param2 == false)
                    {
                        _loc_6 = TimeChange.diffTimerInfo(_loc_5.addTime, param1.serverTime);
                        if (_loc_6.date >= 1)
                        {
                            shieldPlayerList.splice(_loc_4, 1);
                            return true;
                        }
                    }
                    return false;
                }
                _loc_4 = _loc_4 + 1;
            }
            if (param2)
            {
                shieldPlayerList.push(param1);
            }
            return true;
        }// end function

        private static function renderReport(param1:Object) : void
        {
            _titleNum = countStr(param1.chatType) + countStr(param1.playName) + _iconPx;
            param1.type = param1.msgType;
            var _loc_2:* = param1.msgTxt;
            var _loc_3:* = _loc_2.split("_");
            var _loc_4:* = <rtf>r
n	t	t	t	t	t	t	t<text></text>r
n	t	t	t	t	t	t	t<sprites>r
n	t	t	t	t	t	t	t</sprites>r
n	t	t	t	t	t	t	t</rtf>")("<rtf>
							<text></text>
							<sprites>
							</sprites>
							</rtf>;
            switch(_loc_3[0])
            {
                case ChatMsgType.Item:
                {
                    break;
                }
                case ChatMsgType.WarReport:
                {
                    param1.chatType = "[" + ChatLang.WarReport + "]";
                    break;
                }
                default:
                {
                    break;
                }
            }
            var _loc_5:* = "<a href = \"event:" + param1.msgType + "\">" + "<font color=\"" + param1.typeColor + "\">" + param1.chatType + "</font>" + "</a>" + "<font color=\"#ffcc99\">" + "<a href = \"event:" + TextLinkType.Player + "_" + param1.playId + "_" + param1.playName + "_" + param1.sex + "\">" + "<u>" + param1.showName + "</u>" + "</a>" + "</font>" + ":";
            switch(_loc_3[0])
            {
                case ChatMsgType.Item:
                {
                    if (!_loc_3[3])
                    {
                    }
                    if (!_loc_3[4])
                    {
                    }
                    if (!_loc_3[5])
                    {
                    }
                    _loc_5 = _loc_5 + renderItem(_loc_3[1], _loc_3[2], param1.msgTxt, 0, 0, "");
                    break;
                }
                case ChatMsgType.WarReport:
                {
                    _loc_5 = _loc_5 + renderWarReport(param1.nickNameSuffix(_loc_3[1]), param1.nickNameSuffix(_loc_3[2]), _loc_3[3], _loc_3[4], _loc_3[5], _loc_3[6], _loc_3[7], _loc_3[8]);
                    break;
                }
                case ChatMsgType.Soul:
                {
                    if (!_loc_3[5])
                    {
                    }
                    if (!_loc_3[6])
                    {
                    }
                    if (!_loc_3[7])
                    {
                    }
                    _loc_5 = _loc_5 + renderSoul(_loc_3[1], _loc_3[2], _loc_3[3], _loc_3[4], 0, 0, 0);
                    break;
                }
                default:
                {
                    break;
                }
            }
            var _loc_6:String = "";
            if (param1.sex == RoleType.Nan)
            {
                _loc_6 = "Male";
            }
            if (param1.sex == RoleType.Nv)
            {
                _loc_6 = "Female";
            }
            _loc_4.sprites.sprite[0] = new XML(<sprite/>")("<sprite/>);
            _loc_4.sprites.sprite[0].@src = _loc_6;
            _loc_4.sprites.sprite[0].@index = param1.chatType.length;
            _loc_4.text[0] = _loc_5;
            param1.msgInfo = _loc_5;
            param1.xmlInfo = _loc_4;
            _eipList.push(param1);
            return;
        }// end function

        private static function renderItem(param1:int, param2:int, param3:String, param4:int, param5:int, param6:String) : String
        {
            var _loc_7:uint = 16777215;
            _loc_7 = ItemBasically.getBasic(param1).getItemColor(param5);
            var _loc_8:* = ItemBasically.getBasic(param1).getItemName(param5);
            var _loc_9:String = "";
            if (_loc_8 == "")
            {
                _loc_9 = _loc_9 + param3;
            }
            else
            {
                _loc_9 = _loc_9 + ("<font color=\"#" + _loc_7.toString(16) + "\">" + "<a href = \"event:" + TextLinkType.Item + "_" + param1 + "_" + param2 + "_" + param4 + "_" + param5 + "_" + param6 + "\">" + "<u>" + _loc_8 + "</u>" + "</a>" + "</font>");
            }
            return _loc_9;
        }// end function

        private static function renderWarReport(param1:String, param2:String, param3:int, param4:String, param5:int, param6:int, param7:String, param8:int) : String
        {
            if (param4 == WarType.War)
            {
                param2 = MonsterType.getMonsterNameById(int(param2));
            }
            var _loc_9:* = "<font>" + "<a href = \"event:" + TextLinkType.ViewReport + "_" + param3 + "_" + param4 + "_" + param5 + "_" + param6 + "_" + param7 + "\">" + "<u>" + "<font color=\"#ffffff\">" + Lang.sprintf(ChatLang.BattleRank, param8) + "</font>" + "\n" + "<font color=\"#00b7ee\">" + "【" + param1 + "】" + "</font>" + "<font color=\"#ffffff\">VS</font>" + "<font color=\"#00b7ee\">" + "【" + param2 + "】" + "</font>" + "</u>" + "</a>" + "</font>";
            return _loc_9;
        }// end function

        private static function renderSoul(param1:int, param2:int, param3:int, param4:int, param5:int, param6:int, param7:int) : String
        {
            var _loc_18:Number = NaN;
            var _loc_19:Number = NaN;
            var _loc_20:Number = NaN;
            var _loc_8:* = SoulType.getSoulName(param1);
            var _loc_9:* = SoulType.getSoulQualityId(param1);
            var _loc_10:* = SoulType.getQualityColor(_loc_9);
            var _loc_11:String = "";
            var _loc_12:Object = {};
            var _loc_13:uint = 0;
            var _loc_14:String = "";
            var _loc_15:String = "";
            var _loc_16:* = renderKongGe(0);
            if (param2 > 0)
            {
                _loc_18 = param5 / 1000;
                _loc_14 = SoulType.warAttributeIdToName(param2);
                _loc_12 = SoulType.getDataColor(param2, _loc_9, _loc_18);
                _loc_13 = _loc_12.color;
                _loc_15 = SoulType.warValueChange(param2, _loc_18);
                _loc_11 = _loc_11 + (HtmlText.white("，") + "<font color=\"#" + _loc_13.toString(16) + "\">" + _loc_14 + "+" + _loc_15 + "</font>");
            }
            if (param3 > 0)
            {
                _loc_19 = param6 / 1000;
                _loc_14 = SoulType.warAttributeIdToName(param3);
                _loc_12 = SoulType.getDataColor(param3, _loc_9, _loc_19);
                _loc_13 = _loc_12.color;
                _loc_15 = SoulType.warValueChange(param3, _loc_19);
                _loc_11 = _loc_11 + ("\n" + _loc_16 + "<font color=\"#" + _loc_13.toString(16) + "\">" + _loc_14 + "+" + _loc_15 + "</font>");
            }
            if (param4 > 0)
            {
                _loc_20 = param7 / 1000;
                _loc_14 = SoulType.warAttributeIdToName(param4);
                _loc_12 = SoulType.getDataColor(param4, _loc_9, _loc_20);
                _loc_13 = _loc_12.color;
                _loc_15 = SoulType.warValueChange(param4, _loc_20);
                _loc_11 = _loc_11 + (HtmlText.white("，") + "<font color=\"#" + _loc_13.toString(16) + "\">" + _loc_14 + "+" + _loc_15 + "</font>");
            }
            var _loc_17:* = "<font>" + "<a href = \"event:" + TextLinkType.soul + "_" + param1 + "_" + param2 + "_" + param3 + "_" + param4 + "_" + param5 + "_" + param6 + "_" + param7 + "\">" + "<u>" + "<font color=\"#" + _loc_10.toString(16) + "\">" + _loc_8 + "</font>" + "</u>" + "</a>" + "</font>" + _loc_11;
            return _loc_17;
        }// end function

        public static function renderLocationList(param1:int, param2:int, param3:Number, param4:int = 0) : String
        {
            var _loc_5:* = param3 / 1000;
            var _loc_6:* = SoulType.warAttributeIdToName(param1);
            var _loc_7:* = SoulType.warAttributeIdToInfo(param1);
            var _loc_8:* = SoulType.getDataColor(param1, param2, _loc_5);
            var _loc_9:Number = 0;
            if (param1 != 15)
            {
                _loc_9 = param3 * param4 / 100 / 1000;
            }
            _loc_5 = _loc_5 + _loc_9;
            var _loc_10:* = _loc_8.color;
            var _loc_11:* = _loc_8.colorQuelity;
            var _loc_12:* = SoulType.warValueChange(param1, _loc_5);
            return "<font color=\"#" + _loc_10.toString(16) + "\">" + _loc_6 + "+" + _loc_12 + "</font>";
        }// end function

        private static function renderKongGe(param1:int) : String
        {
            var _loc_2:String = "";
            var _loc_3:int = 0;
            while (_loc_3 < param1)
            {
                
                _loc_2 = _loc_2 + " ";
                _loc_3 = _loc_3 + 1;
            }
            return _loc_2;
        }// end function

        private static function renderEip(param1:Object) : void
        {
            var _loc_7:int = 0;
            var _loc_8:Object = null;
            var _loc_2:* = param1.eipIndex.split(",");
            var _loc_3:* = param1.eipNum.split(",");
            var _loc_4:* = param1.eipLive;
            var _loc_5:* = _loc_2.length;
            var _loc_6:int = 0;
            while (_loc_6 < _loc_5)
            {
                
                _loc_7 = int(_loc_2[_loc_6]);
                if (param1.eipLive[_loc_7] == undefined)
                {
                    _loc_4[_loc_7] = {};
                    _loc_4[_loc_7].eip = [];
                }
                _loc_8 = {};
                _loc_8.index = _loc_7;
                _loc_8.src = _smileys[_loc_3[_loc_6]];
                _loc_8.isLoad = false;
                _loc_4[_loc_7].eip.push(_loc_8);
                _loc_4[_loc_7].isAllLoad = false;
                _loc_6 = _loc_6 + 1;
            }
            return;
        }// end function

        private static function countStr(param1:String) : int
        {
            var _loc_2:int = 0;
            var _loc_3:* = param1.length;
            var _loc_4:int = 0;
            while (_loc_4 < _loc_3)
            {
                
                if (param1.charCodeAt(_loc_4) > 127)
                {
                    _loc_2 = _loc_2 + 2;
                }
                else
                {
                    _loc_2 = _loc_2 + 1;
                }
                _loc_4 = _loc_4 + 1;
            }
            return _loc_2;
        }// end function

        private static function isEmptyStr(param1:String) : Boolean
        {
            var _loc_2:* = param1.length;
            var _loc_3:int = 0;
            while (_loc_3 < _loc_2)
            {
                
                if (param1.charAt(_loc_3) != " ")
                {
                }
                if (param1.charAt(_loc_3) != "　")
                {
                    return false;
                }
                _loc_3 = _loc_3 + 1;
            }
            return true;
        }// end function

        private static function countTitleNum(param1:Object) : void
        {
            var _loc_2:Object = {};
            param1.playName = param1.playName.replace(/\&""\&/g, "&amp;");
            param1.playName = param1.playName.replace(/\<""\</g, "&lt;");
            param1.playName = param1.playName.replace(/\>""\>/g, "&gt;");
            param1.playName = param1.playName.replace(/\
n""\n/g, "");
            param1.playName = param1.playName.replace(/\r""\r/g, "");
            param1.playName = param1.playName.replace(/\\""""\"/g, "");
            param1.playName = param1.playName.replace(/\\''""\'/g, "");
            _titleNum = countStr(param1.chatType) + countStr(param1.playName) + _iconPx;
            _titleCountNum = param1.chatType.length + param1.playName.length + 1;
            _loc_2.icon = renderTownMsgIcon(param1);
            var _loc_3:* = _loc_2.icon.length;
            renderEipAndStr(param1, _loc_2.icon, 0, 0, _titleNum);
            return;
        }// end function

        private static function renderEipAndStr(param1:Object, param2:Array, param3:int = 0, param4:int = 0, param5:int = 0) : void
        {
            var _loc_13:int = 0;
            var _loc_14:Object = null;
            var _loc_15:int = 0;
            var _loc_16:int = 0;
            var _loc_17:int = 0;
            var _loc_18:int = 0;
            var _loc_19:Object = null;
            var _loc_20:int = 0;
            var _loc_21:Object = null;
            var _loc_6:* = param1.msgTxt;
            var _loc_7:* = _loc_6.length;
            var _loc_8:* = param2.length;
            var _loc_9:String = "";
            var _loc_10:* = param5;
            var _loc_11:Array = [];
            var _loc_12:Object = {};
            _loc_12.chatType = param1.chatType;
            _loc_12.msgTxt = param1.msgTxt;
            _loc_12.msgType = param1.msgType;
            _loc_12.playId = param1.playId;
            _loc_12.playName = param1.playName;
            _loc_12.sex = param1.sex;
            _loc_12.showName = param1.showName;
            _loc_12.townKey = param1.townKey;
            _loc_12.typeColor = param1.typeColor;
            _loc_12.type = param1.msgType;
            _loc_12.fileColor = param1.fileColor;
            _loc_12.isStar = param1.isStar;
            if (_loc_6.length > 0)
            {
            }
            if (param3 < _loc_7)
            {
                _loc_7 = _loc_6.length;
                _loc_13 = param3;
                while (_loc_13 < _loc_7)
                {
                    
                    if (_loc_6.charCodeAt(_loc_13) > 127)
                    {
                        _loc_10 = _loc_10 + 2;
                    }
                    else
                    {
                        _loc_10 = _loc_10 + 1;
                    }
                    _loc_9 = _loc_9 + _loc_6.charAt(_loc_13);
                    if (param4 < _loc_8)
                    {
                        _loc_14 = param2[param4];
                        if (_loc_14.index == _loc_13)
                        {
                            _loc_10 = _loc_10 + _iconPx;
                            _loc_11.push(_loc_14);
                            param4 = param4 + 1;
                        }
                    }
                    if (_loc_10 < _lineLimit)
                    {
                    }
                    if (_loc_13 >= (_loc_7 - 1))
                    {
                        _loc_12.msg = _loc_9;
                        _loc_12.iconList = _loc_11;
                        _eipList.push(_loc_12);
                        if (_loc_13 >= (_loc_7 - 1))
                        {
                        }
                        if (param4 >= _loc_8)
                        {
                            renderEipList();
                        }
                        else
                        {
                            if (_loc_13 >= (_loc_7 - 1))
                            {
                            }
                            if (param4 < _loc_8)
                            {
                                _loc_15 = Math.floor((_lineLimit - _loc_10) / _iconPx);
                                _loc_16 = _loc_8 - param4;
                                _loc_17 = _loc_16 >= _loc_15 ? (_loc_15) : (_loc_16);
                                _loc_18 = param4;
                                while (_loc_18 < param4 + _loc_17)
                                {
                                    
                                    _loc_19 = param2[_loc_18];
                                    _loc_12.iconList.push(_loc_19);
                                    _loc_18 = _loc_18 + 1;
                                }
                                if (_loc_16 > _loc_15)
                                {
                                    _loc_13 = _loc_13 + 1;
                                    renderEipAndStr(param1, param2, ++_loc_13, param4 + _loc_17, 6);
                                }
                                else
                                {
                                    renderEipList();
                                }
                            }
                            else
                            {
                                _loc_13 = _loc_13 + 1;
                                renderEipAndStr(param1, param2, ++_loc_13, param4, 6);
                            }
                        }
                        return;
                    }
                    _loc_13 = _loc_13 + 1;
                }
            }
            else
            {
                _loc_20 = param4;
                while (_loc_20 < _loc_8)
                {
                    
                    _loc_21 = param2[_loc_20];
                    _loc_10 = _loc_10 + _iconPx;
                    _loc_11.push(_loc_21);
                    if (_loc_10 < _lineLimit)
                    {
                    }
                    if (_loc_20 >= (_loc_8 - 1))
                    {
                        _loc_12.msg = "";
                        _loc_12.iconList = _loc_11;
                        _eipList.push(_loc_12);
                        if (_loc_20 >= (_loc_8 - 1))
                        {
                            renderEipList();
                        }
                        else
                        {
                            renderEipAndStr(param1, param2, param3, (_loc_20 + 1), 6);
                        }
                        return;
                    }
                    _loc_20 = _loc_20 + 1;
                }
            }
            return;
        }// end function

        private static function renderEipList() : void
        {
            var _loc_4:Object = null;
            var _loc_5:String = null;
            var _loc_6:Boolean = false;
            var _loc_7:Object = null;
            var _loc_8:String = null;
            var _loc_9:int = 0;
            var _loc_10:int = 0;
            var _loc_11:int = 0;
            var _loc_1:* = _eipList.length;
            var _loc_2:int = 0;
            while (_loc_2 < _loc_1)
            {
                
                _loc_4 = _eipList[_loc_2];
                if (_loc_2 == 0)
                {
                    if (_systemType != _loc_4.msgType)
                    {
                        addIconIndex(_loc_4.iconList, _titleCountNum);
                        _loc_5 = "";
                        _loc_6 = false;
                        if (_loc_4.sex == RoleType.Nan)
                        {
                            _loc_5 = "Male";
                            _loc_6 = true;
                        }
                        if (_loc_4.sex == RoleType.Nv)
                        {
                            _loc_5 = "Female";
                            _loc_6 = true;
                        }
                        _loc_7 = {};
                        if (_loc_4.isStar)
                        {
                            _loc_7 = {index:_loc_4.chatType.length, isLoad:true, src:"Star", startNum:0};
                            _loc_4.iconList.unshift(_loc_7);
                        }
                        else if (_loc_6)
                        {
                            _loc_7 = {index:_loc_4.chatType.length, isLoad:true, src:_loc_5, startNum:0};
                            _loc_4.iconList.unshift(_loc_7);
                        }
                        _loc_4.msgInfo = "<a href = \"event:" + _loc_4.msgType + "\">" + "<font color=\"" + _loc_4.typeColor + "\">" + _loc_4.chatType + "</font>" + "</a>" + "<font color=\"#ffcc99\">" + "<a href = \"event:" + TextLinkType.Player + "_" + _loc_4.playId + "_" + _loc_4.playName + "_" + _loc_4.sex + "\">" + "<u>" + _loc_4.showName + "</u>" + "</a>" + ":";
                    }
                    else
                    {
                        _loc_4.msgInfo = "<font color=\"" + _loc_4.typeColor + "\">" + _loc_4.chatType + "</font>";
                    }
                    renderMsg(_loc_4);
                }
                else
                {
                    _loc_8 = _eipList[(_loc_2 - 1)].msg;
                    _loc_9 = _loc_8.length;
                    _loc_10 = countStr(_loc_4.chatType) + 2;
                    _loc_11 = _loc_10 - _loc_9;
                    _loc_4.msg = renderKongGe(_loc_10) + _loc_4.msg;
                    _loc_4.msgInfo = "";
                    addIconIndex(_loc_4.iconList, _loc_11);
                    renderMsg(_loc_4);
                }
                _loc_2 = _loc_2 + 1;
            }
            var _loc_3:String = "";
            return;
        }// end function

        private static function addIconIndex(param1:Array, param2:int) : void
        {
            var _loc_5:Object = null;
            var _loc_6:int = 0;
            var _loc_3:* = param1.length;
            var _loc_4:* = _loc_3 - 1;
            while (_loc_4 >= 0)
            {
                
                _loc_5 = param1[_loc_4];
                if (_loc_5 == null)
                {
                    param1.splice(_loc_4, 1);
                }
                else
                {
                    _loc_6 = _loc_5.index;
                    _loc_6 = _loc_6 + param2;
                    _loc_5.index = _loc_6;
                }
                _loc_4 = _loc_4 - 1;
            }
            return;
        }// end function

        private static function renderMsg(param1:Object) : void
        {
            var _loc_2:* = <rtf>r
n	t	t	t	t	t	t	t	t	t	t<text></text>r
n	t	t	t	t	t	t	t	t	t	t<sprites>r
n	t	t	t	t	t	t	t	t	t	t</sprites>r
n	t	t	t	t	t	t	t	t	t	t</rtf>")("<rtf>
										<text></text>
										<sprites>
										</sprites>
										</rtf>;
            param1.msgInfo = param1.msgInfo + ("<font color=\"#" + param1.fileColor.toString(16) + "\">" + param1.msg + "</font>");
            renderXml(_loc_2, param1.iconList, 0, true);
            _loc_2.text[0] = param1.msgInfo;
            param1.xmlInfo = _loc_2;
            return;
        }// end function

        private static function get renderSpace() : String
        {
            var _loc_1:String = "   ";
            var _loc_2:int = 0;
            while (_loc_2 < 6)
            {
                
                _loc_1 = _loc_1 + " ";
                _loc_2 = _loc_2 + 1;
            }
            return _loc_1;
        }// end function

        private static function renderXml(param1:XML, param2:Array, param3:int = 0, param4:Boolean = false) : void
        {
            var _loc_8:Object = null;
            var _loc_5:int = 0;
            var _loc_6:* = param2.length;
            var _loc_7:int = 0;
            while (_loc_7 < _loc_6)
            {
                
                _loc_8 = param2[_loc_7];
                if (_loc_8)
                {
                    param1.sprites.sprite[_loc_5] = new XML(<sprite/>")("<sprite/>);
                    param1.sprites.sprite[_loc_5].@src = _loc_8.src;
                    param1.sprites.sprite[_loc_5].@index = int(_loc_8.index);
                    _loc_5 = _loc_5 + 1;
                }
                _loc_7 = _loc_7 + 1;
            }
            return;
        }// end function

        public static function townChatInfo(param1:Array) : Array
        {
            var _loc_4:Object = null;
            var _loc_5:Object = null;
            var _loc_6:XML = null;
            var _loc_7:String = null;
            townMsg = [];
            var _loc_2:* = param1.length;
            var _loc_3:int = 0;
            while (_loc_3 < _loc_2)
            {
                
                _loc_4 = param1[_loc_3];
                _loc_5 = {};
                _loc_5.iconList = [];
                _loc_6 = <rtf>r
n	t	t	t	t	t	t	t	t<text></text>r
n	t	t	t	t	t	t	t	t<sprites>r
n	t	t	t	t	t	t	t	t</sprites>r
n	t	t	t	t	t	t	t	t</rtf>")("<rtf>
								<text></text>
								<sprites>
								</sprites>
								</rtf>;
                if (_loc_4.eipIndex != "")
                {
                    _loc_5.iconList = renderTownMsgIcon(_loc_4);
                    renderXml(_loc_6, _loc_5.iconList);
                }
                _loc_7 = "<font color=\"#000000\">" + _loc_4.msgTxt + "</font>";
                _loc_6.text[0] = _loc_7;
                _loc_5.iconLen = _loc_5.iconList.length;
                _loc_5.info = _loc_4.msgTxt;
                _loc_5.msgLen = _loc_4.msgTxt.length + _loc_5.iconLen;
                _loc_5.playerId = _loc_4.playId;
                _loc_5.playerName = _loc_4.playName;
                _loc_5.type = _loc_4.msgType;
                _loc_5.xmlInfo = _loc_6;
                townMsg.push(_loc_5);
                _loc_3 = _loc_3 + 1;
            }
            return townMsg;
        }// end function

        private static function renderTownMsgIcon(param1:Object) : Array
        {
            var _loc_7:Object = null;
            var _loc_2:* = param1.eipIndex.split(",");
            var _loc_3:* = param1.eipNum.split(",");
            if (_loc_2[0] == "")
            {
                return [];
            }
            var _loc_4:Array = [];
            var _loc_5:* = _loc_2.length;
            var _loc_6:int = 0;
            while (_loc_6 < _loc_5)
            {
                
                _loc_7 = {};
                _loc_7.index = _loc_2[_loc_6];
                _loc_7.src = _smileys[_loc_3[_loc_6]];
                _loc_4.push(_loc_7);
                _loc_6 = _loc_6 + 1;
            }
            return _loc_4;
        }// end function

    }
}
